package com.zy.convert.core;

import lombok.Data;

import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
 * @author hassan
 * @date 2020-02-25 22:50
 * 转换属性信息（被注解的属性的各信息）
 */
@Data
public class ConverterFieldInfo<A extends Annotation,S,V> {
    /**
     * converter注解
     */
    private A converterAnnotation;
    private Class<?> converterAnnotationClass;
    /**
     * converter实例
     */
    private Class<?> converterClass;
    private AbstractConverter<A,S,V> converter;

    /**
     * 属性setter
     */
    private Method targetFieldSetter;
    private Field targetField;

    /**
     * source属性名称
     */
    private String sourceFieldName;


}
